Method of speech recognition with compensation for both channel distortion and background noise

ABSTRACT

A method of speech recognition with compensation is provided by modifying HMM models trained on clean speech with cepstral mean normalization. For each spech utterance the MFCC vector is calculated for the clean database. This mean MFCC vector is added to the original models. An estimate of the background noise is determined for a given speech utterance. The model mean vectors adapted to the noise is determined. The mean vector of the noisy data over the noisy speech space is determinedand thid is removed from model mean vectors adapted to noise to get the target model.

FIELD OF INVENTION

[0001] This invention relates to speech recognition and more particularly to compensation for both background noise and channel distortion.

BACKGROUND OF INVENTION

[0002] A speech recognizer trained with relatively a quiet office environment speech data and operating in a mobile environment may fail due to at least to the tow distortion sources of back ground noise and microphone changes. The background noise may be from a computer fan, car engine, and/or road noise. The microphone changer may be due to the quality of the microphone, hand-held or hands-free and, a position to the mouth. In mobile application of speech recognition, both the microphone conditioner and background noise are subject to change.

[0003] Cepstral Mean Normalization (CMN) removes utterance mean and is a simple and effective way of dealing with convolutive distortion such as telephone channel distortion. See “Effectiveness of Linear Prediction Characteristics of the Speech Wave for Automatic Speaker Identification and Verification” of B. Atal in Journal of Acoustics Society of America, Vol. 55: 1304-1312, 1974. Spectral Subtraction (SS) reduces background noise in the feature space. See article “Suppression of Acoustic Noise in Speech Using Spectral Subtraction” of S. F. Boll in IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP-27(2): 113-129, April 1979. Parallel Model Combination (PMC) gives an approximation of speech models in noisy condition from noise-free speech models and noise estimates. See “An Improved Approach to the Hidden Markov Model Decomposition of Speech and Noise” of M. J. F. Glaes and S. Young in Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, Volume 1, pages 233-236, U.S.A., April 1992. The techniques do not require any training data.

[0004] Joint compensation of additional noise and convolutive noise can be achieved by the introduction of a channel model and a noise model. A spectral bias for additive noise and a cepstral bias for convolutive noise are introduced in an article by M. Afify, Y. Gong, and J. P. Haton. This article is entitled “A General Joint Additive and Convolutive Bias Compensation Approach Applied to Noisy Lombard Speech Recognition” in IEEE Trans. on Speech and Audio Processing, 6(6): 524-538, November 1998. The five biases can be calculated by application of Expectation Maximization (EM) in both spectral and convolutive domains. A procedure by J. L. Gauvain, et al, is presented to calculate convolutive component, which requires rescanning of training data. See J. L. Gauvain, L. Lamel, M. Adda-Decker, and D. Matrouf entitled “Developments in Continuous Speech Dictation using the ARPA NAB News Task.” In Proc. of IEEE International Conference on Acoustics, Speech, and Signal Processing, pages 73-76, Detroit, 1996. Solution of the convolutive component by steepest descent method has also been reported. See Y. Minami and S. Furui entitled “A Maximum Likelihood Procedure for a Universal Adaptation Method Based on HMM Composition.” See Proc. of IEEE International Conference on Acoustics, Speech and Signal Processing, pages 129-132, Detroit, 1995. A method by Y. Minami and S. Furui needs additional universal speech models, and redestination of channel distortion with the universal models when channel changes. See Y. Minami and S. Furui entitled “Adaptation Method Based on HMM Composition and EM Algorithm” in Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, pages 327-330, Atlanta 1996.

[0005] The techniques presented by M. F. J. Gales in “PMC for Speech Recognition in Additive and Convolutional Noise,” Technical Report TR-154, CUED/F-INFENG, December 1993 needs two passes of the test utterance, e.g., parameter estimation followed by recognition, several transformations between cepstral and spectral domains, and a Gaussian mixture model for clean speech.

[0006] Alternatively, the nonlinear changes of both type of distortions can be approximated by linear equations, assuming that the changes are small. Jacobian approach, which models speech model parameter changes as the product of a jacobian matrix and the difference in noisy conditions, and statistical linear approximation are along this direction. See S. Sagayama, Y. Yamaguchi, and S. Takahashi entitled “Jacobian Adaptation of Noisy Speech Models,” in Proceedings of IEEE Automatic Speech Recognition Workshop, pages 396-403, Santa Barbara, Calif., USA, December 1997. IEEE Signal Processing Society. Also see “Statistical Linear Approximation for Environment Compensation” of N. S. Kim, IEEE Signal Processing Letters, 5(1): 8-10, January 1998.

[0007] Maximum Likelihood Linear Regression (MLLR) transforms HMM parameters to match the distortion factors. See “Maximum Likelihood Linear Regression for Speaker Adaptation of Continuous Density HMMs” by C. J. Leggetter and P. C. Woodland in Computer, Speech and Language, 9(2): 171-185, 1995. This method is effective for both sources but requires training data and introduces the dependence to the speakers.

SUMMARY OF INVENTION

[0008] In accordance with one establishment of the present inventor a new method that Handles simultaneously noise and channel distortions to make a speaker independent system robust to a wide variety of noises and channel distortions.

DESCRIPTION OF DRAWINGING

[0009]FIG. 1 illustrates a speech recognizer according to one embodiment of the present invention; and

[0010]FIG. 2 illustrates the method of the present invention generating

DESCRIPTION OF PREFERRED EMBODIMENTS OF THE PRESENT INVENTIONS

[0011] Referring to FIG. 1 there is illustrated a speech recognizer according to the present invention. The speech is applied to recognizer 11. The speech is compared to Hidden Markov Models (HMM) 13 to recognize the text. The models initially provided on those with speech recorded in a quiet environment and the microphone of good quality. We want to develop a speech model set suitable for operating in the simultaneous presence of channel/microphone distortion and background noise. In accordance with the present invention, a speech model set is provided using statistics about the noise and speech. A low computation cost method integrates both PMC and CMN.

[0012] Referring to FIG. 2, the first Step 1 is to start with HMM models trained on clean speech, with cepstral mean normalization. We modify these models to get models to compensate for channel/microphone distortion (convolutive distortion) and simultaneous background noise (additive distortion). For an HMM model, we have a lot of parameter but only change one subset of the parameters and that is mean vectors m_(p,j,k). The mean vectors m_(p,j,k) of the original model space is modified where p is the index of the Probability Density Function (PDF), j is the state and k is the mixing component.

[0013] The second Step 2 is to calculate which is the mean mel-scaled cesptrum coefficients (MFCC) vector over the trained database. Scan all data and calculate the mean to get {circumflex over (b)}.

[0014] The third Step 3 is to add mean {circumflex over (b)} to each of this mean vector pool represented by m_(p,j,k) equation (1) to get:

{overscore (m)}_(p,j,k) =m _(p,j,k) +b.  (1)

[0015] For example, there could be 100 PDFs, 3 states per PDF and 2 vectors per state, or a total of 600 vectors.

[0016] The fourth Step 4 is for a given input test utterance, an estimate of the background noise vector {tilde over (X)} is calculated.

[0017] Let u^(l) Δ[_(u) ₁ ^(l),_(u) ₂ ^(l), . . . _(u) _(D) ^(l)]^(T) and v^(l) Δ[_(v) ₁ ^(l),_(v) ₂ ^(l), . . . _(v) _(D) ^(l)]^(T), where l means that the values are represented in log-spectral domain.

[0018] We introduce the combination operator ⊕ such that:

w ^(l) Δu ^(l) ⊕v ^(l)=[_(w) ₁ ^(l),_(w) ₂ ^(l),_(w) _(D) ^(l)]^(T)  (2)

[0019] with

_(w) _(j) ^(l)=log(exp(_(u) _(j) ^(l))+exp(_(v) _(j) ^(l)))  (3)

[0020] In Step 5, we calculate the mean vectors adapted to the noise {tilde over (X)} using equation 4.

{circumflex over (m)} _(p,j,k) =IDFT(DFT({overscore (m)} _(p,j,k))⊕+DFT({tilde over (X)})).  (4)

[0021] where DFT and IDFT are, respectively, the DFT and inverse DFT operation, m_(p,j,k) is the noise compensated mean vector.

[0022] Equation 4 involves several operators. DFT is Discrete Fourier Transform and IDFT is the Inverse Discrete Fourier Transform. The ⊕ is an operation with two vectors. A⊕B=C. How ⊕ is defined, we look at equations 2 and 3. Equation 2 says the operation + operates on two vectors u and v and the result is a vector of D dimension or [_(w) ₁ ^(l),_(w) ₂ ^(l), . . . _(w) _(D) ^(l)]^(T) where T is the transposition. We take the two vectors and produce another vector. We need to specify each element in the resultant vector. Equation 3 says that the jth element in that vector (_(w) _(j) ^(l)) is defined by the exponential of the element of u added to the exponential if the jth element of v and take the log of the combination of the exponential of u added to the exponential of the j the element of v. This completes the definition of Equation 4.

[0023] In the following steps, we need to remove the mean vector {circumflex over (b)} of the noisy data y over the noisy speech space N(from the resultant model). One may be able to synthesize enough noisy data from compensated models but this requires a lot of calculation. In accordance with the present invention the vector is calculated using statistics of the noisy models. The whole recognizer will operate with CMN (cepstral mean normalization mode), but the models in Equation 4 are no longer mean normalized. We have dealt with additive noise. The second half of the processing is removing the cepstral mean of our models defined in Equation 4. This is not difficult because we have the models in Equation 4. In Step 6, we need to integrate all the samples generated by Equation 4 to get the mean. Mean is {circumflex over (b)}. Equation 5 is this integration.

[0024] Let, be the variable denoting PDF index, J be the variable for state index, and K be the variable for mixing component index. $\begin{matrix} \begin{matrix} {\hat{b} = \quad {E\left\{ y \right\}}} \\ {{= \quad {\int_{N}\quad {y{\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}}}},{(p)P_{J}{{,{\left( {j,p} \right)P_{K}}}}},,_{J}} \\ {\quad \left( {k\left. {p,j} \right)_{{PY}{{,,,J,K}}}\left( {y\left. {p,j,k} \right){y}} \right.} \right.} \end{matrix} & (5) \end{matrix}$

[0025] Since

p(y|p,j,k)=N(y,IDFT(DFT({overscore (m)} _(p,j,k))⊕DFT({tilde over (X)})), —_(p,j,k))  (6)

[0026] We have $\begin{matrix} {{\hat{b} = {\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}},{(p)P_{J}},\left( {j\left. p \right){P_{K{{,,J}}}\left( {k\left. {p,j} \right){\hat{m}}_{p,j,k}} \right.}} \right.} & (7) \end{matrix}$

[0027] Equation 7 shows that {circumflex over (b)} can be worked out analytically, and it is not necessary to do the physically generation and integration. The final result is Equation 7 which is the integration into several sums. Sums over probability density functions and the sum over states and sum over mixing components. Then you have several quantities. The P_(H) is the probability of having the PDF index. The P_(J) given H is the probability of being in the state if given the PDFp. The next is the probability the mixing component p,j given we have the PDF index. The mean vector of the compensated mode. To make this complete we remove this {circumflex over (b)} from the compensated model to get the target model. This is Step 7. The target model is:

{dot over (m)} _(p,j,k) ={circumflex over (m)} _(p,j,k) −{circumflex over (b)}  (8)

[0028] This is what we want to load into our recognizer. This operation is done for each utterance.

[0029] Calculation of {circumflex over (b)} thus requires the knowledge of probability of each PDF. There are two issues with P (,=p):

[0030] It needs additional storage space.

[0031] It is dependent of the recognition task e.g. vocabulary, grammar.

[0032] Although it is possible to obtain that probability, we want to consider the following simplified cases.

[0033] This operation to calculate the {circumflex over (b)} can be simplified with three approximations. The first one uses equal probabilities for P_(H)(p) or constraint C.

[0034] 1. Use equal probabilities for P_(H)(p):

P _(H)(p)=C  (9)

[0035] 2. Use equal probabilities for P_(H)(p), P_(J|,) P(j_(|)p) and P_(K|,, J)(k_(|)h,j).

P _(H)(P)=C

P _(J|H)(_(j|) p)=D  (10)

P _(K|H,,J)(k|p,j)=E

[0036] 3. In fact, the case described in Eq-10 consists in averaging the compensated mean vectors {overscore (m)}_(p,j,k). Referring to Eq-4 and Eq-1, it can be expected that the averaging reduces the speech part m_(p,j,k) just as CMN does. Therefore, Eq-7 could be further simplified into:

{circumflex over (b)}=IDFT(DFT(b)⊕DFT({tilde over (X)})).  (11)

[0037] The model m^(T) _(p,j,k,t) is then used with CMN on noisy speech. Unfortunately, {circumflex over (b)} is a function of both channel and background noise in all above cases. In other words, in presence of noise, there is no guarantee that the channel will be removed by such a vector, as is for CMN.

[0038] A subset of WAVES database containing hands-free recordings was used, which consists of three recording sessions: parked-tm (car parked, engine off), parked (car parked, engine off), and city-driving (car driven on a stop and go basis).

[0039] In each session, 20 speakers (10 male) read 40 sentences each, giving 800 utterances. Each sentence is either 10, 7 or 4 digit sequence, with equal probabilities. The database is sampled at 8 kHz, with MFCC analysis frame rate of 20 ms. Feature vector consists of 10 statis and 10 dynamic coefficients.

[0040] HMMs used in all experiments are trained in TIDIGITS clean speech data. Utterance-based cepstral mean normalization is used. The HMMs contain 1957 mean vectors, and 270 diagonal variances. Evaluated on TIGIDIT test set, the recognizer gives 0.36% word error rate.

[0041] To improve the performance in noisy environment, the variances of the Gaussian PDFs can be MAP adapted to some slightly noisy data, e.g. WAVES parked_eval data. Such adaptation will not affect recognition of clean speech, but will reduce variance mismatch between HMMs the noisy speech. The new algorithm is referred to as JAC (joint compensation of additive noise and convolutive distortion). TABLE 1 word error rate (WER) (%) as function of driving conditions and compensations methods PARKED DRIVING BASELINE 1.38 30.3 CMN 0.59 18.8 PMC 1.74 6.29 JAC FULL PROB (Eq-7) 0.84 1.93 JAC CONST PDF PROB (Eq-9) 0.84 2.00 JAC AVERAGE (Eq-10) 1.16 2.18 JAC SIMPLIFIED (Eq-11) 0.48 1.91

[0042] Table-1 shows that:

[0043] Compared to noise-free recognition (WER) (0.36%), without any compensation (BASELENE) the recognition performance degrades severely.

[0044] CMN effectively reduces the WER for parked data, but is not effective for driving conditions where additive noise becomes dominant.

[0045] PMC substantially reduces the WER for driving conditions, but gives poor results for parked data where microphone mismatch is dominant.

[0046] All JAC cases give lower WER than non-JAC methods.

[0047] Simplifying Eq-7 to Eq-9 then to Eq-11results in progressive increase in WER, although the degradation is not severe. Especially, information in PDF probability is not critical to the performance.

[0048] Simplified JAC gives lowest WER in all tests. For this hands-free speech recognition, the new met reduces word error rate by 61% for parked condition and 94% for city driving condition. 

What is claimed is:
 1. A method of modifying HMM models trained on clean speech with cepstral mean normalization to provide models that compensate for simultaneous channel/microphone distortion and background noise (additive distortion) comprising the steps of: for each speech utterance calculating the mean mel-scaled cepstrum coefficients (MFCC) vector {circumflex over (b)} over the clean database; adding the mean MFCC vector {circumflex over (b)} to the mean vectors m_(p,j,k) of the original HMM models where p is the index of PDF, j is the state, and k the mixing component to get in m_(p,j,k); for a given speech utterance calculating an estimate of the background noise vector {tilde over (X)}; calculating the model mean vectors adapted to the noise {tilde over (X)} using m_(p,j,k)=IDFT (DFT ({overscore (m)}_(p,j,k)⊕DFT ({tilde over (X)})) to get the noise compensated mean vector where the Inverse Discrete Fourier Transform is taken sum of the Discrete Fourier Transform of the mean vectors {overscore (m)}_(p,j,k) modified by the mean MFCC vector {circumflex over (b)} added to the Discrete Fourier Transform of the estimated noise {tilde over (X)}; and calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space, and removing the mean vector {circumflex over (b)} of the noisy data from the model mean vectors adapted to noise to get the target model.
 2. The method of claim 1 wherein the step of calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space will calculate the vector using statistics of noisy model using ${\hat{b} = {\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}},{(p)P_{J}},\left( {j\left. p \right){P_{K{{,,J}}}\left( {k\left. {p,j} \right){\hat{m}}_{p,j,k}} \right.}} \right.$

where H is the variable denoting PDF Index J is the variable for the sate index and K is the variable for mixing component index
 3. The method of claim 2 wherein said calculating the mean vector {circumflex over (b)} uses equal probabilities for P_(H)(p) P _(H)(p)=C.
 4. The method of claim 2 wherein equal probabilities for P_(H)(p), P_(J|), P(j|p) and P_(K|,,J)(k|h,j)is used. P _(H)(p)=C P _(J|H)(j|p)=D P _(K|H,J)(k|p,j)=E
 5. The method of claim 3 wherein mean vector {circumflex over (b)} becomes equal to: {circumflex over (b)}=IDFT(DFT(b)⊕DFT({tilde over (X)})).
 6. A method of speech recognition with compensation for channel distortion and background noise comprising the steps of: providing HMM models trained on clean speech with cepstral mean normalization; for each utterance: calculating the calculating the mean mel-scaled cepstrum coefficients (MFCC) vector {circumflex over (b)} over the clean database; adding the mean MFCC vector {circumflex over (b)} to the mean vectors m_(p,j,k) of the original HMM models where p is the index of PDF, j is the state, and k the mixing component to get in m_(p,j,k); for a given speech utterance calculating an estimate of the background noise vector {tilde over (X)}; calculating the model mean vectors adapted to the noise {tilde over (X)} using {circumflex over (m)}_(p,j,k)=IDFT (DFT ({overscore (m)}_(p,j,k)⊕DFT ({tilde over (X)})) to get the noise compensated mean vector where the Inverse Discrete Fourier Transform is taken sum of the Discrete Fourier Transform of the mean vectors {overscore (m)}_(p,j,k) modified by the mean MFCC vector {circumflex over (b)} added to the Discrete Fourier Transform of the estimated noise {tilde over (X)}; and calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space, and removing the mean vector {circumflex over (b)} of the noisy data from the model mean vectors adapted to noise to get the target model;and comparing the target model to the speech input utterance to recognize speech.
 7. The method of claim 6 wherein the step of calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space will calculate the vector using statistics of noisy model using ${\hat{b} = {\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}},{(p)P_{J}},\left( {j\left. p \right){P_{K{{,,J}}}\left( {k\left. {p,j} \right){\hat{m}}_{p,j,k}} \right.}} \right.$

where H is the variable denoting PDF Index J is the variable for the sate index and K is the variable for mixing component index
 8. The method of claim 7 wherein said calculating the mean vector {circumflex over (b)} uses equal probabilities for P_(H)(p) P _(H)(p)=C.
 9. The method of claim 7 wherein equal probabilities for P_(H)(p), P_(J|), P(j|p) and P_(K|, J)(k|h,j)is used. P _(H)(P)=C P _(J|H)(j|p)=D P _(K|H,J)(k|p,j)=E
 10. The method of claim 9 wherein mean vector {circumflex over (b)} becomes equal to: {circumflex over (b)}=IDFT(DFT(b)⊕DFT({tilde over (X)})).
 11. A speech recognizer with compensation for channel distortion and background noise comprising in combination: adapted HMM models generated by modifying HMM models trained on clean speech with cepstral mean normalization wherein said models are adapted by: for each utterance: calculating the calculating the mean mel-scaled cepstrum coefficients (MFCC) vector {circumflex over (b)} over the clean database; adding the mean MFCC vector {circumflex over (b)} to the mean vectors m_(p,j,k) of the original HMM models where p is the index of PDF, j is the state, and k the mixing component to get in m_(p,j,k); for a given speech utterance calculating an estimate of the background noise H vector {tilde over (X)}; calculating the model mean vectors adapted to the noise {tilde over (X)} using {circumflex over (m)}_(p,j,k)=IDFT (DFT ({overscore (m)}_(p,j,k)⊕DFT ({tilde over (X)})) to get the noise compensated mean vector where the Inverse Discrete Fourier Transform is taken sum of the Discrete Fourier Transform of the mean vectors {overscore (m)}_(p,j,k) modified by the mean MFCC vector {circumflex over (b)} added to the Discrete Fourier Transform of the estimated noise {tilde over (X)}; and calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space, and removing the mean vector {circumflex over (b)} of the noisy data from the model mean vectors adapted to noise to get the adapted model;and means for comparing the adapted model to the speech input utterance to recognize the input speech
 12. The recognizer of claim 11 wherein the step of calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space will calculate the vector using statistics of noisy model using ${\hat{b} = {\begin{matrix} y \\ N \end{matrix}{\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}}},{(p)P_{J}},\left( {j\left. p \right){P_{K{{,,J}}}\left( {k\left. {p,j} \right){\hat{m}}_{p,j,k}} \right.}} \right.$

where H is the variable denoting PDF Index J is the variable for the sate index and K is the variable for mixing component index
 6. The model of claim 5 wherein the step of calculating the mean vector {circumflex over (b)} of the noisy data over the noisy speech space will calculate the vector using statistics of noisy model using ${\hat{b} = {\sum\limits_{p}{\sum\limits_{j}{\sum\limits_{k}P}}}},{(p)P_{J}},\left( {j\left. p \right){P_{K{{,,J}}}\left( {k\left. {p,j} \right){\hat{m}}_{p,j,k}} \right.}} \right.$

where H is the variable denoting PDF Index J is the variable for the sate index and K is the variable for mixing component index
 13. The recognizer of claim 12 wherein said calculating the mean vector {circumflex over (b)} uses equal probabilities for P_(H)(p) P _(H)(p)=C.
 14. The recognizer of claim 12 wherein equal probabilities for P_(H)(p), P_(J|), P(j|p) and P_(K|,, J)(k|h,j)is used. P _(H)(p)=C. P _(J|H)(j|p)=D P _(K|H,J)(k|p,j)=E
 15. The method of claim 12 wherein mean vector {circumflex over (b)} becomes equal to: {circumflex over (b)}=IDFT(DFT(b)⊕DFT({tilde over (X)})).
 16. A method of speech recognition with simultaneous compensation for both channel/micriphone distortion and background noise comprising the steps of: modifying HMM models trained on clean speech with cepstral mean normalization; for each spech utterance calculating the MFCC vector for a clean database; adding this mean MFCC vector to the original HMM models; estimating the background noise for a given speech utterance; determining the model mean vectors adapted to the noise; determining the mean vector of the noisy data over the noisy speech space;and removing the mean vector of the noisy data over the noisy speech space from the model mean vectors adapted to the noise to get the target model.
 17. A method of speech comprising the steps of: providing HMM models trained on clean speech with cepstral mean normalization; and modifying HMM models to compensate silutaneously for convolutive distortion and background noise. 